package mylab.utils.disruptor.chain;


import mylab.base.Serviceable;

/**
 * File Name             :  ChainContainer
 *
 * @author :  sylar
 * Create                :  2019-10-20
 */
public interface ChainContainer extends Serviceable {

    void start(Object... args);

    void stop();

    void onStarted();

    void onStopped();

    void onTaskCompleted(BaseTask task, Object result);

    void onTaskThrowable(BaseTask task, Throwable t);

    void onChainFinished(ChainContext context);

}
